package com.csust.automaticteach.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.csust.automaticteach.model.dto.generateppt.GeneratePptQueryRequest;
import com.csust.automaticteach.model.entity.GeneratePpt;
import com.baomidou.mybatisplus.extension.service.IService;
import com.csust.automaticteach.model.vo.generateppt.GeneratePptVO;
import com.csust.automaticteach.model.vo.generateppt.response.CheckProgressVO;

import java.util.List;

/**
* @author 钰玟
* @description 针对表【t_generate_ppt(生成ppt)】的数据库操作Service
* @createDate 2025-07-18 17:18:09
*/
public interface GeneratePptService extends IService<GeneratePpt> {

    /**
     * 获取查询条件
     * @param generatePptQueryRequest 查询条件
     * @return 查询条件
     */
    QueryWrapper<GeneratePpt> getGeneratePptQueryWrapper(GeneratePptQueryRequest generatePptQueryRequest);

    /**
     * 获取vo对象
     * @param record 实体类
     * @return vo对象
     */
    GeneratePptVO getGeneratePptVO(GeneratePpt record);

    /**
     * 获取vo对象列表
     * @param records 实体类列表
     * @return vo对象列表
     */
    List<GeneratePptVO> getGeneratePptVOList(List<GeneratePpt> records);

    /**
     * 查询生成ppt进度 并实时返回进度
     *
     * @param sid sid
     * @return 进度
     */
    CheckProgressVO getCheckProgressVOImmediately(String sid);
}
